﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _2021_5_20
{
    //创建一个Shape（形状）类，此类包含一个名为color的数据成员，用于存储颜色，这个类还包含一个名为GetArea()的虚方法（这个方法是用来获取形状面积的）。
    #region Shape类
    class Shape
    {
        protected string color;

        public string Color { get => color; set => color = value; }

        public virtual void GetArea() { }

    }
    #endregion
    //基于这个Shape，创建两个子类：Circle（圆形类）和Square（正方形类），
    //Circle类中包含radius（半径）的数据成员，
    //Square类中包含sideLen（边长）的数据成员，
    //这两个子类都去重写父类的GetArea()方法，各自去实现计算自己的面积。
    #region 圆
    class Cicrle : Shape
    {
        protected double radius;

        public double Radius { get => radius; set => radius = value; }

        public override void GetArea()
        {
            Console.WriteLine("请输入圆的半径：");
            this.radius = double.Parse(Console.ReadLine());
            Console.WriteLine("半径为{0}的圆的面积为：{1}。", this.radius, 3.14 * (this.radius * this.radius));
        }


    }
    #endregion

    #region 正方形
    class Square : Shape
    {
        double sideLen;

        public double SideLen { get => sideLen; set => sideLen = value; }

        public override void GetArea()
        {
            Console.WriteLine("请输入正方形的边长：");
            this.sideLen = double.Parse(Console.ReadLine());
            Console.WriteLine("边长为{0}的正方形的面积为：{1}。", this.sideLen, this.sideLen * this.sideLen);
        }
    }
    #endregion

}
